import router from '@/router/index.js'

// 长时间未操作，退出登录
let lastTime = new Date().getTime()
let currentTime = new Date().getTime()
let timeOut =10000 //设置超时时间: 30分钟
// let timeOut = 10 * 60 * 1000 //设置超时时间: 10分钟

window.onload = function () {
  window.document.onmousedown = function () {
    console.log(new Date().getTime())
    setItem("lastTime", new Date().getTime())
  }
};

function setItem(key, value) {
  value = JSON.stringify(value);
  window.localStorage.setItem(key, value)
}

function getItem(key, defaultValue) {
  let value = window.localStorage.getItem(key)
  try {
    value = JSON.parse(value);
  } catch {}
  return value || defaultValue
}

function removeItem(key) {
  window.localStorage.removeItem(key)
}
function clear() {
  window.localStorage.clear()
}

function checkTimeout() {
  currentTime = new Date().getTime()
  //更新当前时间
  lastTime = getItem("lastTime");
  //判断是否超时
  if (currentTime - lastTime > timeOut) {
    // 清除localStorage的数据(登陆信息和token)
    clear()
    // 跳到登陆页
    console.log(router.options.routes[0].name)
    // 当前已经是登陆页时不做跳转
    if(router.options.routes[0].name == '404') return 
    //超时自动退出
    router.push('/login');
  }
}

export default function () {
  /* 定时器 间隔3分钟检测是否长时间未操作页面 */
  // window.setInterval(checkTimeout, 30000);
  window.setInterval(checkTimeout, 3000);
}
